MFAをスマホやハードウェアデバイスを使わずに設定する方法を試してみた
こんにちは、AWS営業部のサイトウです。
最近、「座りっぱなし」を防ごうと昇降デスクを買いました。
立ち仕事は疲れそうと思っていたのですが、集中できるし、腰・ヒザの痛みも感じないので想像したより良い環境です。
私が買ったメーカーさんのリンクを貼っておきますので、ご興味があれば検討してみてください。
Flexispot ※アフィリンクじゃないのでご安心を。
さて、今回は「AWSマネジメントコンソール(個人利用)のログインにMFA設定したけど、毎回スマホから入力するの面倒だなぁ」と思って、解決策を探してみた記事を書こうと思います。
【検証した環境】
- 私用PC(個人利用限定、Windows10)
- 個人発行のAWSアカウント(個人契約のクレジットカード登録)
- Chromeブラウザ
※クラスメソッドで管理されてるPC環境・AWSアカウントについては、厳密に管理されています。
- MDMで適切に管理されたPC端末(=PC端末を紛失しても第三者に不正にログインされてしまう事はありません)
- MDM管理下の端末限定でログイン許可したGoogleアカウント
- 最小権限が付与されたAWSアカウント
- 1Password(有償契約)を利用したMFA
※お願い
MFAツール選定は、各自のコンプライアンス規定・セキュリティポリシーに沿ってご判断ください。
1、ブラウザでできるMFA
MFA(多要素認証)をスマホや外部デバイスを使わず、Chromeブラウザの拡張機能で実装してみました。
MFAとは
MFA=Multi Factor Authentication
つまり、複数の認証要素(パスワード入力、ワンタイムパスワード、指紋認証などなど)を2つ以上組み合わせた認証方式と思ってください。
多要素認証 (MFA) は、ユーザーが単なるパスワードよりも多くの情報を入力する必要がある複数ステップのアカウントログインプロセスです。例えば、ユーザーはパスワードとともに、E メールで送信されたコードの入力、秘密の質問への回答、または指紋のスキャンを求められる場合があります。2 つ目の認証形式は、システムパスワードが侵害された場合に、不正なアカウントアクセスを防ぐのに役立ちます。
(引用:Amazon Web Services)
MFAは、AWSアカウントのログイン管理で推奨されているセキュリティ対策の手段です。
MFAを設定しないと何がダメなの?
ID・パスワードの認証方法だけでは、情報漏洩リスクを防ぎきれません。
もし悪意のある第三者に漏れたら、漏洩したことも知らないままノーガードになってしまうことも考えられます。
- いつのまにか不正ログインされ、AWSリソースを勝手に使われてたら・・・
- 顧客情報が入ったインスタンスにログインされて、情報を抜き取られていたら・・
- 愉快犯が勝手にサービス停止して、お客様の利用ができなくなってしまったら・・・
強固なパスワードの設定がアカウントハッキングへの有効な対策なのは間違いありませんが、管理するアカウントの数が増え続ける昨今、人間の記憶に頼るパスワード認証には限界が近づいています。
引用:NRI セキュアブログ
このような時代背景から、ID+パスワードに加えて別の認証方法が必要性が高まっています。
「VPNなどのセキュリティ機器がサイバー攻撃の被害に遭ってIDとパスワードが流出したインシデントや、初期設定のパスワードから変更していなかったせいでネットワーク機器が乗っ取られたというインシデントが発生している。もし管理者のIDとパスワードが流出すれば、大量の個人情報や重要情報の漏えいにつながり、企業としての信用を失うことになる。事業継続の点からも、IDとパスワードに頼らない認証の仕組みが必要だ」
引用:ITspecial
ブラウザ拡張機能MFA「Authenticator」
MFAはスマホのアプリ(google Authenticator、Microsoft Authenticatorなど)を登録することが多いです。
私も個人利用のAWSアカウント(IAM)ログインに、スマホアプリを登録していました。
しかし、ログインするたびにスマホを開いて→アプリ起動して→6桁のコード覚えて→PCで数字入力して~という手順が面倒でした。
(それがセキュリティなんだよ!ということは理解してます・・・)
そこで、スマホやデバイス以外でMFA登録ができる方法はないか探してみたところ、Chromeの拡張機能にありました!
Authenticator (とてもわかりやすいシンプルな名前ですね!)
自分の私用PC+個人利用AWSアカウントでAuthenticatorを設定してみた検証結果をシェアします。
2、設定方法
Authenticatorを設定した内容をまとめます。
0、機能説明確認
1、Chrome拡張機能から追加
2、ツールバーに固定
3、パスワード設定
これで準備完了です。
3、個人のAWSアカウントで試してみてる
個人で持っているAWSアカウントのログインで、Authenticatorを使ったMFA登録をしてみます。
1、AWSマネジメントコンソールへログイン→MFA設定画面へ
『セキュリティ認証情報』のページを下へスクロールすると、MFA設定項目が出てきます。
2、AuthenticatorでQRコード読みとり
2-1、MFAデバイスの管理画面から『仮想MFAデバイス』を選択して続行します。
2-2、仮想デバイス設定でQRコード表示させます。
2-3、AuthenticatorからQRを読み取ります。
固定した拡張機能(ブラウザ右上)のAuthenticatorマークから
「ペンマーク」→「プラスマーク」→「QRコード読み取り」の順でクリックしていきます。
※下の図の点線のように、QRコードを囲うように範囲指定してください。
2-4、読み取り成功すると、ブラウザ通知が出ます。
※読み取り失敗すると「QR読み取り失敗」と出るので、再度カーソル調整して範囲読み取りしてください。
3、MFAコード入力
Authenticatorで発行されるワンタイムコードを2回入力します。
※1回目・2回目は別のコードが必要なため、1回目のコピペが出来たら30秒ほど待ってから2回目のコード入力を行います。
右下にある「MFAデバイスの割り当て」を押したら完了です。
成功するとこんな画面が出ます。
4、MFAログインテスト
4-1、AWSマネジメントコンソールからログアウトして、再度ログインします。
ID/PW認証後、MFA認証画面でワンタイムコードが要求されます。
4-2、Authenticatorマーククリックして、コードをコピペ
番号の部分をクリックすると数字6桁が自動コピーされるので、AWSのMFA認証画面へペーストします。
4-3、送信ボタンでログイン完了
5,バックアップを取る
設定したAuthenticator情報のバックアップを取っておきましょう。
「設定(Authenticator画面左上のマーク)」→「バックアップ」でどの形式で取得できるかを選べます。
まとめ
MFAの設定があるアカウントへログインするとき、PCで完結するように検証してみました。
商用のパスワード管理ツールなどにも機能として付いているかもしれないので、一度ご確認してみてください。
※※最後のお知らせ※※
Chromeの拡張機能のAuthenticatorを使ってビジネス利用アカウント・法人用アカウントへ設定する際は、自己責任のもとでご判断ください。